package com.qkjia.springselltest.jline;

import org.jline.utils.AttributedString;
import org.jline.utils.AttributedStyle;
import org.springframework.context.event.EventListener;
import org.springframework.shell.jline.PromptProvider;
import org.springframework.stereotype.Component;

/**
 * 可以通过注册类型的bean 来自定义此行为。这种豆子可以使用内部状态来决定向用户显示什么
 * （例如，它可能对应用程序事件做出反应），并且可以使用 JLine 的状态来显示花哨的 ANSI 文本。
 * PromptProviderAttributedCharSequence
 * 下面是一个虚构的例子：
 */
//要一 jline为根目录 才可以好像
/*
@Component
public class CustomPromptProvider implements PromptProvider {

    private ConnectionDetails connection;

    @Override
    public AttributedString getPrompt() {
        if (connection != null) {
            return new AttributedString(connection.getHost() + ":>",
                    AttributedStyle.DEFAULT.foreground(AttributedStyle.YELLOW));
        }
        else {
            return new AttributedString("server-unknown:>",
                    AttributedStyle.DEFAULT.foreground(AttributedStyle.RED));
        }
    }

    @EventListener
    public void handle(ConnectionUpdatedEvent event) {
        this.connection = event.getConnectionDetails();
    }
}*/
